package com.bsj.power.common.def.vo.web.job;

import com.alibaba.fastjson.annotation.JSONField;
import com.bsj.power.common.def.entity.Scene;
import com.bsj.power.common.def.entity.job.QualityPlan;
import com.bsj.power.common.def.entity.room.Room;
import com.bsj.power.common.def.vo.pls.WorkPersonnelVO;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @author yinhao
 * @version 1.0
 * @description 工单接口返回对象
 * @date 2024/6/12
 */
@Data
public class JobVO {

    /**
     * Id主键
     */
    private Long jobId;
    /**
     * 工单号
     */
    private String jobNum;
    /**
     * 作业标题
     */
    private String title;
    /**
     * 作业描述
     */
    private String description;
    /**
     * 作业区域
     */
    private String area;
    /**
     * 作业计划开始时间
     */
    private String startTime;
    /**
     * 作业计划结束时间
     */
    private String endTime;
    /**
     * 作业目标开始时间
     */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date targetTime;
    /**
     * 作业目标开始时间字符串，格式化为yyyy-MM-dd
     */
    private String targetTimeStr;
    /**
     * 作业目标完成时间
     */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date completeTime;
    /**
     * 负责人
     */
    private String director;
    /**
     * 负责人联系方式
     */
    private String directorPhone;
    /**
     * 作业状态
     */
    private Integer status;
    /**
     * 同步状态
     */
    private String syncStatus;
    /**
     * 作业人员
     */
    private List<WorkPersonnelVO> personnel;
    /**
     * 作业区域
     */
    private String workArea;
    /**
     * 作业区域场景具体信息
     */
    private Scene scene;
    /**
     * 作业区域房间具体信息
     */
    private Room room;
    /**
     * 作业时长(小时)
     */
    private String runTime;
    /**
     * 预警数
     */
    private Long alarmNum;
    /**
     * 标记数
     */
    private Long markNum;
    /**
     * 质量计划
     */
    private List<QualityPlan> qualityPlans;
    /**
     * 审核结果 0:待审核 1:不合格 2:合格
     */
    private Integer examine;
    /**
     * 操作人
     */
    private String operator;
    /**
     * 临时作业计划开始时间，格式yyyy-MM-dd
     */
    private String tempStartTime;
    /**
     * 风险等级 1:低风险，2 中风险 3高风险
     */
    private Integer riskLevel;
    /**
     * 功能位置（作业设备）
     */
    private String location;
    /**
     * 机组号
     */
    private Integer unitNum;
    /**
     * 房间号
     */
    private String roomNo;
    /**
     * 步骤
     */
    private String procedure;

    /**
     * 危险
     */
    private String risk;

    /**
     * 预防措施
     */
    private String precautionaryMeasures;

    /**
     * 工单小类
     */
    private String workType;

    /**
     * 区域类型  0其他 1敏感区域
     */
    private Integer areaType;

    /**
     * 区域级别
     */
    private String areaLevel;

    /**
     * 设备数
     */
    private Long deviceNum;
}
